Skip to content

Graph-view UX batch: wheel direction, center-on-node, node header, edge labels#106

Merged
mvalancy merged 4 commits into
devfrom
fix/graph-view-ux
Jun 18, 2026
Merged

Graph-view UX batch: wheel direction, center-on-node, node header, edge labels#106
mvalancy merged 4 commits into
devfrom
fix/graph-view-ux

Conversation

@mvalancy

Copy link
Copy Markdown
Member

Dogfooding fixes (graph view), batched:

Verified: web typecheck clean; THE GATE smoke 5/5; camera.spec 4/4 (wheel test updated for the flipped direction).

🤖 Generated with Claude Code

mvalancy and others added 4 commits June 17, 2026 17:54
…= zoom in)

The custom wheelDelta inverted the d3 default, so scrolling up zoomed OUT — the
opposite of maps and every other app. Drop the extra *-1 at both zoom setups so
scroll-up zooms IN (now consistent with the minimap, which was already correct).
camera.spec wheel test updated to use negative deltaY for zoom-in.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…rupt)

centerOnNode applied the transform via a throwaway d3.zoom() instance, which
only set the svg's stored __zoom without firing the bound zoom's handler — so the
graph didn't move until the next gesture snapped to the stale __zoom (the
deferred, abrupt jump). Apply through zoomBehaviorRef.current (like
fitViewToNodes) and use the live scale, so it animates smoothly on click.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…oltips

- Node type label sat at the header centre (x=0) but the open space is between
  the single left (gear) button and the two right buttons (expand + grow); move
  it to the gap midpoint x=-(iconSize+8)/2 so it's visually centred in the gap.
- Glyphs (gear ⚙, plus +, expand ⛶) now all use dominant-baseline=central for
  consistent vertical centring inside their square buttons.
- Add native <title> tooltips to all three header buttons (Open details / edit,
  Add a connection (grow), Expand — read contents & diagram).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… label text)

The directional icon's flip used a bare rotate(180), which pivots on the group
origin (0,0) — throwing the icon across onto the label text (the overlap) and
leaving it upside-down. Rotate around the icon's own centre (x+7, y+7) so it
flips in place: the arrow tracks the true edge direction AND stays beside the
text with proper spacing.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

🧪 Comprehensive Test Suite

  • Unit suites (Node 18.x & 20.x) — core, web, server, mcp-server: ✅ passed
  • Installer & deploy config: ✅ passed

Full-stack smoke gate runs in the CI workflow.

@mvalancy mvalancy merged commit 75349a8 into dev Jun 18, 2026
16 checks passed
@mvalancy mvalancy deleted the fix/graph-view-ux branch June 18, 2026 01:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant